package com.hifar.test.syncexport8357.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hifar.model.BaseModel;
import com.hifar.plat.AopOption.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * <p>
 * 双网同步-导出表
 * </p>
 *
 * @author wangkepeng
 * @since 2024-11-13 17:13:08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_sync_export")
@ApiModel(value = "SysSyncExport对象", description = "双网同步-导出表")
public class SysSyncExport8357 extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * bucket前缀
     */
    @Excel(name = "bucket前缀", sort = 1)
    @ApiModelProperty(value = "bucket前缀")
    @TableField("bucket_pre")
    @JSONField(name = "bucketPre")
    private String bucketPre;


    /**
     * bucket名称
     */
    @Excel(name = "bucket名称", sort = 1)
    @ApiModelProperty(value = "bucket名称")
    @TableField("bucket_name")
    @JSONField(name = "bucketName")
    private String bucketName;


    /**
     * 文件名称
     */
    @Excel(name = "文件名称", sort = 1)
    @ApiModelProperty(value = "文件名称")
    @TableField("file_name")
    @JSONField(name = "fileName")
    private String fileName;

    /**
     * 文件路径
     */
    @Excel(name = "文件路径", sort = 1)
    @ApiModelProperty(value = "文件路径")
    @TableField("file_path")
    @JSONField(name = "filePath")
    private String filePath;


    /**
     * 导出错误信息
     */
    @Excel(name = "导出错误信息", sort = 1)
    @ApiModelProperty(value = "导出错误信息")
    @TableField("export_error_msg")
    @JSONField(name = "exportErrorMsg")
    private String exportErrorMsg;


    /**
     * 导出用户id
     */
    @Excel(name = "导出用户id", sort = 1)
    @ApiModelProperty(value = "导出用户id")
    @TableField("export_user_id")
    @JSONField(name = "exportUserId")
    private String exportUserId;


    /**
     * 导入时间
     */
    @Excel(name = "导入时间", sort = 1)
    @ApiModelProperty(value = "导入时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("import_time")
    @JSONField(name = "importTime")
    private Date importTime;


    /**
     * 导出用户名称
     */
    @Excel(name = "导出用户名称", sort = 1)
    @ApiModelProperty(value = "导出用户名称")
    @TableField("export_user_name")
    @JSONField(name = "exportUserName")
    private String exportUserName;


    /**
     * 导入文件存放路径
     */
    @Excel(name = "导入文件存放路径", sort = 1)
    @ApiModelProperty(value = "导入文件存放路径")
    @TableField("import_file_path")
    @JSONField(name = "importFilePath")
    private String importFilePath;


    /**
     * 导入用户名称
     */
    @Excel(name = "导入用户名称", sort = 1)
    @ApiModelProperty(value = "导入用户名称")
    @TableField("import_user_name")
    @JSONField(name = "importUserName")
    private String importUserName;


    /**
     * 导入错误信息
     */
    @Excel(name = "导入错误信息", sort = 1)
    @ApiModelProperty(value = "导入错误信息")
    @TableField("import_error_msg")
    @JSONField(name = "importErrorMsg")
    private String importErrorMsg;


    /**
     * 导出文件存放路径
     */
    @Excel(name = "导出文件存放路径", sort = 1)
    @ApiModelProperty(value = "导出文件存放路径")
    @TableField("export_file_path")
    @JSONField(name = "exportFilePath")
    private String exportFilePath;


    /**
     * 导入状态:1未上传2已上传 3已解压 4.数据已导入
     */
    @Excel(name = "导入状态", sort = 1)
    @ApiModelProperty(value = "导入状态")
    @TableField("import_status")
    @JSONField(name = "importStatus")
    private Integer importStatus;


    /**
     * 导入用户id
     */
    @Excel(name = "导入用户id", sort = 1)
    @ApiModelProperty(value = "导入用户id")
    @TableField("import_user_id")
    @JSONField(name = "importUserId")
    private String importUserId;


    /**
     * 排序
     */
    @Excel(name = "排序", sort = 1)
    @ApiModelProperty(value = "排序")
    @TableField("row_sort")
    @JSONField(name = "rowSort")
    private Integer rowSort;


    /**
     * 导出状态:1导出文件生成中2导出文件已生成3文件已下载
     */
    @Excel(name = "导出状态", sort = 1)
    @ApiModelProperty(value = "导出状态")
    @TableField("export_status")
    @JSONField(name = "exportStatus")
    private Integer exportStatus;


    /**
     * 备注
     */
    @Excel(name = "备注", sort = 1)
    @ApiModelProperty(value = "备注")
    @TableField("remarks")
    @JSONField(name = "remarks")
    private String remarks;


    /**
     * 导出时间
     */
    @Excel(name = "导出时间", sort = 1)
    @ApiModelProperty(value = "导出时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("export_time")
    @JSONField(name = "exportTime")
    private Date exportTime;


    @ApiModelProperty(value = "加密key")
    @TableField("encrypt_key")
    @JSONField(name = "encryptKey")
    private String encryptKey;

    @TableField(exist = false)
    List<Map<String, Object>> fileList;


}